package com.mastercard.labs

class DealService {
	/**
	 * Return ArrayList of merchants, with
	 * associated score, rank descending
	 * @param user
	 * @return
	 */
	def getFavoriteMerchant(User user) {
		
	}
	
	
	/**
	 * Return average of spending for each category
	 * Should return a map
	 * @param user
	 * @return
	 */
	def getAverageSpending(User user) {
		
	}
	
	/**
	 * Return favorite categories with score,
	 * rank descending
	 * @param userId
	 * @return
	 */
	def getFavoriteCategory(User user) {
		
	}
	
	/**
	 * Return favorite locations that user likes
	 * to do shoping with associated score
	 * @param userId
	 * @return
	 */
	def getFavoriteLocation(User user) {
		
	}
	
	
	/**
	 * Return user gender to calculate deal similarity
	 * @param user
	 * @return
	 */
	def getUserGender(User user) {
		
	}
	
	/**
	 * Return user age to calculate deal similarity
	 * @param user
	 * @return
	 */
	def getUserAge(User user) {
		
	}
	
	
	/**
	 * Algorithm to calculate the score of deal
	 * based on user spending preference
	 * @param deal
	 * @return
	 */
	def getScore(Deal deal) {
		
	}
	
	
	/**
	 * Return list of deals, ranked by score descending.
	 * The score will be calculated with the user spending
	 * preference
	 * @param user
	 * @return
	 */
	def getDeals(User user) {
		
	}
}
